[int]$deletedSpoolFiles = 0 $spoolerService = Get-Service -Name Spooler $runningDependentServices = @( $spoolerService.DependentServices | Where-Object { $_.Status -eq 'Running' } ) foreach ($service in $runningDependentServices) { Stop-Service -Name $service.Name -Force } Stop-Service -Name Spooler -Force (Get-Service -Name Spooler).WaitForStatus('Stopped', '00:00:30') $spoolFolder = Join-Path $env:SystemRoot 'System32\spool\PRINTERS' $spoolFiles = Get-ChildItem -Path $spoolFolder -Force $deletedSpoolFiles = @($spoolFiles).Count foreach ($file in $spoolFiles) { Remove-Item -Path $file.FullName -Force } Start-Service -Name Spooler foreach ($service in $runningDependentServices) { Start-Service -Name $service.Name } Write-Output "deletedSpoolFiles: $deletedSpoolFiles"